Spherical coordinates cursor, mouse, and method

ABSTRACT

A three-dimensional computer cursor is controlled by a 3D mouse using the spherical coordinate system, where the computer cursor can move in lines, curves, or geometrical grids in 2D or 3D. The 3D mouse enables the user to interact with the computer games physically by moving the user&#39;s hand as in real games where the 3D mouse provides the computer system with the details of the hand movement&#39;s rotation. The 3D mouse can be in the shape of a ring where the user can put it on his/her finger to operate the computer. A 3D trackball is also presented to enable the user to move, navigate, or edit in 3D. The invention enables the user to move the computer cursor using the spherical, polar, cylindrical, or Cartesian coordinate system to facilitate using many applications such as the Microsoft Windows Vista, Google Earth, and CAD/CAM/CAE software.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a Continuation-in-Part of co-pending InternationalApplications No. PCT/EG2006/000025, filed Jul. [[7]]6, 2006, and No.PCT/EG2006/000036, filed Oct. 4, 2006, and U.S. patent application Ser.No. 11/564,882, filed Nov. 30, 2006.

BACKGROUND

The computer cursor is manipulated by the mouse to move on the computerdisplay in 2D and/or 3D using the Cartesian coordinate system. In thelast few years, new versions of Windows systems, Web-based applications,and desktop software have dramatically changed to integrate the use of2D and 3D together. Microsoft Windows Vista, Internet world mapping suchas Google Earth, and CAD/CAM/CAE software are examples of suchapplications, where the traditional computer cursor, mouse, and inputmethod which utilize the Cartesian coordinate system are no longersuitable for such new applications as they used to be before.

For example, the traditional computer cursor has no accurate, logicalcontrol of the exact angle or distance of movement in 2D; it is alwaysmoved in multiple, discrete steps until it reaches its target on thecomputer display, and with 3D applications, the user loses the sense oforientation and can only see a deceiving projection of the cursor'sposition on the computer screen.

The traditional mouse does not help much in 3D applications, althoughthere are some current products which have attempted to solve themouse's limitations in 3D, but such products were far away from beingpractical and intuitive, for example, the company 3Dconnexion offers aninput device to be used by the user's one hand while moving the mousewith the other hand. Another example is the company Sandio Technologywhich recently introduced a 3D mouse that has 12 positions to press oninstead of moving the mouse. Both of the aforementioned products'configurations confuse the user, relegating the mouse into a complicatedinput device.

The traditional computer method utilizes the Cartesian coordinate systemto move the cursor on the computer display, and also to providepositional information by the mouse's movement to the computer system,where this system has many disadvantages when used with the new 3Dapplications. For example, it is hard to accurately move an object onthe computer display in 3D if the movement is not parallel to the x, y,and z-axis, and it is difficult to navigate on the computer display to apoint that is not defined with x, y, and z coordinates.

The present invention introduces a solution that eliminates thecounter-intuitiveness and, in some cases, the complete failure of thetraditional computer cursor, mouse, and method in dealing with the new3D Windows system, 3D Internet and software applications. It introducesan innovative cursor, mouse, and method that together provide thecomputer user with a complete integrated tool to operate these newapplications effectively and efficiently, saving both the user's timeand effort.

For example, the present cursor gives the user the ability to controlthe movement angles and distance of the cursor on the computer displayto be in lines, curves, or circles. This gives the user a perfect senseof orientation in 2D and 3D and helps achieve tasks that neededcomplicated software, consequently, reducing the user's time and effortin targeting or moving on the computer display.

The present 3D mouse enables the user to control the new applications of3D Windows systems, Internet, and desktop software in a simple and fastway without moving the mouse or aligning the mouse or the user's hand inany specific direction, or even using a mousepad or any specific surfaceto support the mouse for proper function. The user can stand, laysupine, or even walk around using a wireless model of this 3D mouse.Moreover, the user can hold this 3D mouse with one hand in gamingsituations as if it is a table tennis racket, for example, where thesimulation for such a user's hand movement is provided to the computersystem to be used in gaming or training purposes. In addition to this,the present 3D mouse can be in the shape of a ring where the user canput it on his/her finger operating the computer during businesspresentations or while traveling as a passenger in a car or plane.

The present method utilizes the spherical coordinate system instead ofthe Cartesian coordinate system, giving the computer user full controlto move, navigate, or edit in 3D, without the use of the keyboard. Thethree dimensional virtual environment on the computer display becomesaccessible to the user and void of having screen projection illusions asin current cases when using the Cartesian coordinate system.

Overall, some examples of the uses and applications of the presentinvention will be described subsequently. However, it is important tonote that if the present computer cursor, 3D mouse, and method becomecommercially available; it is believed that developers of currentuser-friendly software systems would come up with innumerable additionaluses and applications.

SUMMARY

In the spherical coordinate system as shown in FIG. 1, a point P isrepresented by a tuple of three components: ρ, θ, and φ. The component ρis the distance between the point P and the origin, θ is the anglebetween the positive x-axis and the line from the origin to the point Pprojected onto the xy-plane, and φ is the angle between the xy-plane andthe line from the origin to the point P.

FIG. 2 illustrates the present computer cursor which is named the“Spherical Cursor” and is comprised of: a dotted line 100 serving as aray reaching all possible target points of the cursor's direction on thecomputer display; a solid line 110 that represents the radial distalmovement length of the cursor ρ, in its determined direction on thedotted line from a starting point 120 to a targeted point 130; ahorizontal circular portion 140 that gives the feeling of the xy-planeand indicates the value of θ; and a vertical circular portion 150 thatgives the feeling of the cursor rotation in the third dimension,perpendicular on the xy-plane and indicating the value of φ.

FIG. 3 illustrates the present 3D mouse that is comprised of threescroll wheels numbered 160, 170, and 180. The first scroll wheel 160 ison the left side of the 3D mouse and has its axis perpendicular to themousepad surface. It can be rotated horizontally, both clockwise andcounterclockwise, by the thumb finger to provide, respectively,immediate negative or positive input for θ to the computer system. Thesecond scroll wheel 170 is on the right side of the 3D mouse and has itsaxis parallel to the 3D mousepad surface and perpendicular to the axisof the first scroll wheel. It can be rotated vertically, both clockwiseand counterclockwise, by the middle or ring finger to provide,respectively, immediate negative or positive input for φ to the computersystem. The third scroll wheel 180 is on the top side of the 3D mouseand has its axis parallel to the mousepad surface, perpendicular to theaxes of the first and second scroll wheels. It can be rotated bothvertically up or down by the index finger to provide, respectively,immediate positive or negative input for ρ to the computer system.

To operate this 3D mouse, the user rotates the first scroll wheel 160horizontally to determine θ, the horizontal rotation of the sphericalcursor in the xy-plane, then rotates the second scroll wheel 170vertically to determine φ, the vertical rotation of the spherical cursorperpendicular to the xy-plane, and rotates the third scroll wheel 180 todetermine ρ, the radial distal movement of the spherical cursor in threedimensions. In case of working in 2D, there is no need to use the secondscroll wheel 170 since the third dimension does not exist. In such casesthe spherical coordinate system will change into a polar coordinatesystem in two dimensions. However, the positions of the three scrollwheels can be different from FIG. 3, for example, the first scroll wheel160 can be on the right side of the 3D mouse and the second scroll wheelcan be on the left side of the 3D mouse, or both of them can be on oneside of the 3D mouse.

As a demonstration of some uses and applications of the presentinvention, the following figures show some innovative examples that aredifficult to be achieved using the traditional computer cursor, mouse,or method:

FIG. 4 illustrates an example for a three dimensional interfaceconsisting of three parallel planes where in such a case, rotating thespherical cursor in three dimensions by providing the input values of θand φ to the computer system is enough to determine the intersectionpoints of the spherical cursor direction or dotted line 100 and thethree planes. As long as the spherical cursor changes its rotation ordirection, the computer system indicates the point of intersection ofeach new rotation or direction, where there is no need to provide inputfor ρ to the computer system as will be described subsequently. Based onthis concept, to click on any icon, menu, or the like on any of thethree dimensional interfaces, the user directs the spherical cursor tothe needed target then clicks the enter button of the mouse, without theneed to move the spherical cursor to such needed target.

FIG. 5 shows a spherical cursor movement among a plurality ofnon-parallel planes in three dimensions where it is possible to targetany of such planes without the need to provide the input of ρ to thecomputer system as mentioned previously. However, in this example, thestart point of the spherical cursor on the computer display changes froma start point out of the illustrated planes to a start point on some ofsaid planes.

FIG. 6 shows another innovative application for the spherical cursormovement on the computer display where a three dimensional interfaceconsists of three planes, E1, E2, and E3, and the spherical cursor whichcan target any of these three planes or move from one to another. Inaddition to this, the spherical cursor can move on any one of theseinterfaces or planes without the need to provide input for φ to thecomputer system. That is achieved by having the spherical cursorinterpret any specific plane that it will move on as an xy-plane. Inother words, to move on a specific plane, the user provides onlyimmediate input for θ and ρ to the computer system. Once the user needsthe spherical cursor to move to another plane or quit movement on aspecific plane, then s/he provides immediate input for φ to the computersystem. Once the user does so, the computer system recognizes the user'sneed to move to another plane. In other words, to move on any plane, thepolar coordinate system is used where there is no input of φ; to movefrom one plane to another, the spherical coordinate system is used whereφ is provided with θ and ρ.

FIG. 7 shows a spherical cursor movement on plane E3 which is a part ofsaid interface of FIG. 6 where it is simple for the user to move thespherical cursor on this plane as described previously. This solution isappropriate for use with three dimensional interfaces such as MicrosoftWindows Vista; where using the Cartesian coordinate system or theconventional computer cursor is not robust enough of a tool to targetany of the different interface parts. Furthermore, moving on any planeor, for example, part of said interface that is not parallel to the x,y, and z-axis is impossible when using the traditional mouse movement ona surface by means of the Cartesian coordinate system. In such cases,the direction of the mouse movement on a surface simply cannot match thedifferent directions of different planes and/or interfaces.

FIG. 8 shows an innovative application for navigation in threedimensions for world mapping applications such as Google Earth or NASA'sopen-source World Wind. Here, as will be described subsequently, thespherical cursor moves in curves in 3D to target a specific spotdirectly in one step on the world map as opposed to what is currentlyrequired: rotating the world map horizontally and vertically untilgetting the targeted position in the center of the computer display thenzooming in to it. The present method reduces the number of requiredsteps and the amount of time spent by the user to deal with suchapplications.

FIG. 9 shows another innovative application to control the speed of thespherical cursor when moving in virtual reality environments where thecomputer system can calculate the distance between the starting point120 of the spherical cursor and any three dimensional object on thecomputer display that is in the direction of the spherical cursor's pathor intersected with the dotted line 110. The computer system thenadjusts the speed of the spherical cursor or camera movement whentargeting such objects, especially if there are huge variations ofdistances between objects as in the case of 3D world mapping ormodeling.

FIG. 10 shows an innovative method to walk though a three dimensionalenvironment such as a virtual reality model for a building where thespherical cursor enables the computer system to detect the openings ofthe buildings as doors or windows by comparing the different calculatedvalues of ρ of the spherical cursor's direction to the same plane of thebuilding. The openings are located where there are relatively largechanges in the ρ values in the same plane. Such applications turn thespherical cursor into a “smart cursor” that detects the IDs of thedifferent parts of the 3D objects on the computer display andaccordingly are able to move the virtual camera according to apre-programmed movement function related to the objects' IDs.

FIG. 11 illustrates the possibility of moving different 3D objects inthree dimensions on the computer display using the spherical cursor bytargeting the needed object to be moved, dragging it, and then targetingthe new position for this object to relocate it. It is very difficultfor the conventional computer cursor to achieve such tasks in threedimensions without the use of the computer keyboard to enter thenumerical values of the x, y, and z coordinates for the new position orlocation of the moved object on the computer display.

FIG. 12 illustrates a three dimensional object where the computer usercan pick up any point of said object and move it in three dimensionsusing the movement of the spherical cursor, where, as shown in thisfigure, a point P1 is dragged in a curvature movement to a new position,and point P2 is dragged linearly to a new position in 3D. This exampleillustrates the ease of editing in three dimensions using the presentinvention.

FIG. 13 illustrates an example for estimating the distance between twopoints in a three dimensional virtual environment on the computerdisplay using the spherical cursor, where in this example, a distancebetween two points such as P1 and P2 is calculated by targeting thefirst point P1 by the spherical cursor then targeting P2. The computersystem then calculates the distance between P1 and P2 by knowing thedistance between P0 and P1, and P0 and P2, in addition to the anglebetween the two lines P0-P1 and P0-P2, where P0 is the starting or basepoint of the spherical cursor as shown in the figure.

One advantage of the present 3D mouse is in the realm of interactive 3Dgraphics. The scroll wheels' rotations are directly translated intochanges in the virtual camera's orientation. For example, in some games,the present 3D mouse can control the direction in which the player's“head” faces: rotating the first scroll wheel 160 horizontally clockwiseor counterclockwise will cause the player to turn around in thoserespective directions. Rotating the second scroll wheel 170 up or downwill cause the player to look “up” or “down”. Rotating the third scrollwheel 180 forward or backward will cause the player to move “forward” or“backward.” Generally, in games that need aiming/targeting or shootingin three-dimensions, the present 3D mouse is a perfect tool.

Another application for the present 3D mouse is in controlling virtualspace vehicles such as airplanes or rockets. Rotating the first scrollwheel 160 controls the turning of the vehicle both left and right(yawing); rotating the second scroll wheel 170 controls the titling ofthe vehicle side-to-side (rolling); and rotating the third scroll wheel180 controls the tilting of the vehicle both up and down (pitching). Allsuch controls are achieved using only the present 3D mouse and requirethe use of only one hand.

One major application that is completely unique to the present inventionis the use of the 3D mouse in gaming and educational training. The usercan hold the 3D mouse in one hand as a virtual gaming apparatus such asa tennis racket, golf club, billiard cue, or the like, and move his/herhand naturally as in the real sport. In such cases, the present 3D mouseprovides immediate input to the computer system so as to simulate theexact hand motion(s) of the user. This simulation enables the user tointeract virtually with the computer with real free-hand motions, asopposed to the traditional mouse movements on a surface, or pressingbuttons on game controllers.

Overall, it is important to mention that the present invention or methodnot only provides movements using the spherical coordinate system, butalso the polar, cylindrical, and Cartesian coordinate systems, inaddition to providing the computer system with motion having six degreesof freedom (6 DOF) without the need of a supplementary input device suchas a keyboard and its like.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a spherical coordinate system where a point P is representedby a tuple of three components: θ, φ, and ρ.

FIG. 2 is a spherical cursor which is a new shape for the computercursor to move in two and/or three dimensions on the computer display.

FIG. 3 is a 3D mouse comprised of a first scroll wheel 160, secondscroll wheel 170, and third scroll wheel 180, in addition to the regularmouse components.

FIGS. 4 to 13 display various uses and applications of the sphericalcursor utilizing the spherical coordinate system.

FIG. 14 is a ring mouse comprised of a first scroll wheel 190, secondscroll wheel 200, third scroll wheel 210, and a void 220 to pass theuser's finger through.

FIG. 15.1 is a 3D trackball comprised of a ball 230, base 240, firstbutton 250, second button 260, third button 270, fourth button 280, andoptical sensor 290.

FIG. 15.2 is a top view for the 3D trackball that indicates dividing theball into three sections: first section 300, second section 310, andthird section 320.

FIG. 16.1 is a horizontal tilt wheel comprised of a tilt wheel 330, leftbutton 340, and right button 350.

FIG. 16.2 is a bottom view for the horizontal tilt wheel illustrating afirst button 360, second button 370, third button 380, and fourth button390, where these buttons are beneath the horizontal tilt wheel to detectits tilting direction.

FIG. 17 is an alternative for the 3D mouse comprised of a first scrollwheel 400 and second scroll wheel 410, in addition to the regular mousecomponents.

FIG. 18 is an alternative for the 3D mouse comprised of a firstselection switch 420 and second selection switch 430, in addition to theregular mouse components.

FIG. 19 is an alternative for the 3D mouse comprised of a tilt wheel onthe top side of the 3D mouse, in addition to the regular mousecomponents.

FIG. 20 is an alternative for the 3D mouse comprised of a first scrollwheel 440, second scroll wheel 450, and two touchpad surfaces 460 and470, in addition to the regular mouse components.

FIG. 21 is an alternative for the 3D mouse comprised of a first scrollwheel 480, second scroll wheel 490, and two pressure sensitive buttons500 and 510, in addition to the regular mouse components.

FIG. 22 is the finger's directions on a touchpad surface to control themovement of the spherical cursor in three dimensions on the computerdisplay.

FIG. 23.1 is a mouse movement on a surface from point 1 to 2, from point2 to 3, and from point 3 to 4.

FIG. 23.2 is the spherical cursor movement in 2D on the computer displayin accordance to the mouse movement of FIG. 23.1.

FIG. 24.1 is a mouse movement on a surface from point 1 to 2, from point2 to 4, and from point 4 to 3.

FIG. 24.2 is the spherical cursor movement in 2D on the computer displayin accordance to the mouse movement of FIG. 24.1.

FIG. 25.1 is the order of providing the input for θ, φ, and ρ to thecomputer system to move the spherical cursor in lines.

FIG. 25.2 is the order of providing the input for θ, φ, and ρ to thecomputer system to move the spherical cursor in curves.

FIGS. 26.1 to 27.4 are examples for moving the spherical cursor in thexy-plane on the computer display.

FIG. 28 is three examples for the spherical cursor movement in twodimensions on the computer display.

FIGS. 29.1 to 29.3 are examples for moving the spherical cursor in gridsin two dimensions on the computer display.

FIGS. 30 and 31 are alternatives for the spherical cursor movement incurves or semi-circles in 2D on the computer display.

FIGS. 32.1 to 33.3 are examples for moving the spherical cursor in thexz-plane on the computer display.

FIGS. 34.1 to 34.3 are examples for moving the spherical cursor in theyz-plane on the computer display.

FIGS. 35.1 to 35.3 are examples for moving the spherical cursor in threedimensions on the computer display in different planes than the xy, xz,or yz-plane.

FIGS. 36.1 and 36.2 are two examples for moving the spherical cursor inthree dimensional paths on the computer display.

FIG. 37 shows alternatives for the spherical cursor curvature movementfrom P1 to P2 in three dimensions on the computer display.

FIG. 38 is the spherical cursor movement drawing a three-dimensionalshape on the computer display in seven steps.

FIG. 39 is the spherical cursor targeting a three-dimensional sphere onthe computer display.

FIG. 40.1 is a table illustrating the 3D trackball's rotation thatprovides the computer system with a movement along the x, y, and z-axis.

FIG. 40.2 is a table illustrating the 3D trackball's rotation thatprovides the computer system with a rotation about the x, y, and z-axis.

DETAILED DESCRIPTION

As described previously, FIG. 3 illustrated a 3D mouse comprised ofthree scroll wheels 160, 170 and 180 to provide, respectively, theinputs of θ, φ, and ρ to the computer system, where this simpleconfiguration eases the control of the spherical cursor. For example,the user can feel the spherical cursor's horizontal or vertical rotationby rotating the first wheel horizontally or the second scroll wheelvertically. Also the user can feel the spherical cursor's forward orbackward movement by rotating the third scroll wheel forward orbackward. The user has full control over the speed of the sphericalcursor's rotation or movement with the touch of his/her fingers to thescroll wheels; this type of control is very important in manyapplications especially those in gaming and virtual reality. In additionto this, the user can feel the value of the rotation, where one completeor partial rotation of the scroll wheel rotates the spherical cursor inlike fashion.

As mentioned previously, the 3D mouse can be held with the user's handwhere s/he moves his/her hand simulating the actual movements used inplaying sports/games such as tennis, billiards, golf, or serving, wherethe 3D mouse provides input to the computer system that simulates themotion of the user's hand. This function is based on gripping the 3Dmouse in one hand, while holding the first scroll wheel 160 with thethumb finger, and holding the second scroll wheel 170 with the middle orindex finger. When the user rotates his/her hand from left to right,s/he rotates the first scroll wheel 160 and the second scroll wheel 170in the direction of his/her hand's rotation, where in this case thefirst scroll wheel 160 will be horizontally rotated clockwise (relatedto its axis), and the second scroll wheel will be vertically rotatedclockwise (related to its axis). In cases where the user rotates his/herhand from right to left, then s/he horizontally rotates the first scrollwheel 160 counterclockwise (related to its axis), and vertically rotatesthe second scroll wheel counterclockwise (related to its axis); wherethe values of the scroll wheel's rotation is relative to the value ofthe user's hand rotation.

It is important to note that the human hand's joints are sphericaljoints and their rotation in three dimensions can be analyzed in twoangles: θ and φ; these two angles are provided to the computer system bythe first and second scroll wheels of the 3D mouse. Also, the motion ofthe thumb and middle or index finger while rotating the user's hand fromleft to right or vice versa is by nature, as mentioned previously,horizontally or vertically, clockwise, or counterclockwise. However, inthis example the input of θ and φ are provided to the computer system inthe same time, where this possibility is available to the user when s/heuses two or three scroll wheels of the present 3D mouse in the sametime.

FIG. 14 illustrates the present ring mouse that functions as a 3D mouse.This ring mouse can be put on the index or middle finger and be operatedby the thumb finger, where the first scroll wheel 190 can be rotatedhorizontally to provide immediate input for θ, the second scroll wheel200 can be rotated vertically to provide immediate input for φ, and thethird scroll wheel 210 can be rotated up or down to provide immediateinput for ρ to the computer system. Also, the first scroll wheel 190 canbe pressed down to function as the regular mouse's left button, and thesecond scroll wheel 200 can be pressed laterally to function as theregular mouse's right button. The user's finger goes through the ringvoid 220 which is in the direction of the axis of the third scroll wheel210.

The ring mouse can take another simple shape wherein the first scrollwheel 190, second scroll wheel 200, and third scroll wheel 210 can beattached to three different faces of a cube, where said three differentfaces share one corner of said cube. The cube has an appendage that isattached to it where said appendage can easily be wrapped on the user'sfinger with Velcro-like fabric that allows it to be “one-size-fits-all”.Having the cube without any penetration of the user's finger is anadvantage that makes the sensors that detect the rotation of the threescroll wheels fit simply inside the cube.

The ring mouse is a perfect tool to control the spherical cursor whenthe user is driving a car and needs to use the GPS, or while usingfingers/hands in typing on the computer keyboard and needing to use themouse constantly during typing. It is also a perfect tool for gamerswhen more than one player can share the same game on the same computerwithout the need for a surface to move the mice, in addition to the easeof holding just a ring instead of the other input devices or gamecontrollers.

Another input device that controls the spherical cursor in threedimensions is the present 3D trackball. FIG. 15.1 illustrates this 3Dtrackball which is comprised of a ball 230 and a base 240 to hold saidball. This base has four arms and on the tip of each of them is abutton: a first button 250; second button 260; third button 270; andfourth button 280. In addition to this, there is an optical sensor 290in the base beneath the ball to detect its rotation. FIG. 15.2illustrates a top view for the present 3D trackball which shows that theball 230 is divided into three sections: first section 300; secondsection 310; and third section 320. To use the 3D trackball to providethe input of θ to the computer system, the user rotates the ballhorizontally from the first section 300 by his/her thumb finger. Toprovide the input of φ, the user rotates the ball vertically from thesecond section 310 by the middle or ring finger. To provide the input ofρ, the user rotates the ball inwards/backward from the third section 320by the index or middle finger.

There is a gap between the ball 230 and the four buttons 250, 260, 270,and 280. This gap helps the computer system to identify which section ofthe ball is touched by the user's finger. For example, when the userrotates the first section 300 using the thumb finger, the ball is movedslightly from left to right pressing on the first button 250 and thesecond button 260 during its rotation. When the user rotates the secondsection 310 with the middle or ring finger, the ball is moved slightlyfrom right to left pressing on the third button 270 and the fourthbutton 280 during its rotation. When the user rotates the third section320 forward with the index or middle finger, the ball is moved slightlyforward pressing on the first button 250 and the fourth button 280; ifthe rotation is backward, then the ball is moved slightly backwardpressing on the second button 260 and the third button 270.

The optical sensor 290 is a regular mouse optical sensor but upsidedown. It detects each different rotational direction of the ball 230.For example, when providing the input of θ to the computer system aspreviously described, the optical sensor detects a clockwise orcounterclockwise rotation of the bottom of the ball. When providing theinput of φ to the computer system, the optical sensor detects a movementfrom left to right or vice versa. When providing the input of ρ to thecomputer system, the optical sensor detects a forward or backwardmovement. Based on the movement direction detected by the optical sensorand the IDs of the two buttons that are pressed by the ball during itsrotation, the computer system identifies which section of the ball isrotated and accordingly which input of θ, φ, or ρ is meant by the 3Dtrackball's rotation.

FIG. 16.1 illustrates the present horizontal tilt wheel which is anothercomputer input device to provide the input for θ, φ, and ρ to thecomputer system. It is comprised of a horizontal scroll wheel 330 thatcan be horizontally rotated clockwise or counterclockwise about itsvertical axis to provide, respectively, immediate negative or positiveinput for θ to the computer system. A left button 340 functions as aregular mouse left button, and a right button 350 functions as a regularmouse right button. FIG. 16.2 is a bottom view for said horizontal tiltscroll wheel; it illustrates a first button 360, second button 370,third button 380, and fourth button 390, respectively, in the East,West, North, and South bottom directions of said horizontal tilt wheel.The present horizontal tilt wheel can be tilted or pressed vertically bythe user's finger from its East, West, North, and South boundaries topress, respectively, on first button 360, second button 370, thirdbutton 380, or fourth button 390 to provide immediate, negative inputfor φ, positive input for φ, positive input for ρ, or negative input forρ, to the computer system.

The unique advantage about said horizontal scroll wheel is its smallsize and minimal requirements of space for proper operation. Theseminimal requirements make it suitable to be incorporated onto the top ofany computer mouse, keyboard, laptop, or even in a ring to be used as aring mouse.

FIG. 17 illustrates an alternative for the present 3D mouse of FIG. 3.This 3D mouse alternative is comprised of two scroll wheels instead ofthree, where the first scroll wheel 400 on the left side of the 3D mouseis rotated horizontally to provide immediate input for θ, the secondscroll wheel 410 on the top side of the 3D mouse is rotated up or downto provide immediate input for φ, and this 3D mouse is moved (similar tothe regular mouse movement on a surface) to provide immediate input forρ. In this case, the x and y values of the regular mouse movement areconverted to only one value of ρ according to the following equation:

ρ=(x ² +y ²)^(0.5)

This is in cases where the movement of this 3D mouse is inwards/closerto the direction of the dotted line 100 of the spherical cursor, and,

ρ=−(x ² +y ²)^(0.5)

This is in cases where the movement of this 3D mouse is inwards/closerto the opposite direction of the dotted line 100 of the sphericalcursor.

FIG. 18 illustrates another 3D mouse that looks like a conventionalmouse in addition to two selection switches 420, and 430 on the leftside of this 3D mouse. Wherein pressing the first selection switch 420by the thumb finger one time to be “on” and another time to be “off”,and when moving this 3D mouse while the first selection switch 420 is“on”, then the immediate input for θ is provided. Also pressing thesecond selection switch 430 by the thumb finger one time to be “on” andanother time to be “off” and when moving this 3D mouse while the secondselection switch 430 is “on”, then the immediate input for φ isprovided. Also, moving this 3D mouse after pressing twice on any of theselection switches provides immediate input for ρ. However, all themovements of this 3D mouse for the inputs of θ, φ, and ρ convert the xand y movement values to only one value, according to the followingequations:

θ=(x ² +y ²)^(0.5)

φ=(x ² +y ²)^(0.5)

ρ=(x ² +y ²)^(0.5)

Whereas this one value is positive if the movement angle of the present3D mouse is equal to or greater than zero and less than 180 degrees, andis negative if the movement angle of the present 3D mouse is equal to orgreater than 180 degrees and less than 360 degrees. Also, this one valueis positive if the movement of the present 3D mouse is forward and isnegative if the movement of the present 3D mouse is backward.

FIG. 19 illustrates a 3D mouse that uses a tilt wheel that tilts leftand right to provide immediate input for θ, and rolls up and down toprovide immediate input for φ, in addition to moving the mouse on asurface to provide immediate input for ρ as described previously for themouse of FIG. 17.

FIG. 20 illustrates a 3D mouse comprised of a horizontal scroll wheel440 that rotates clockwise or counterclockwise to provide immediateinput for θ, and vertical scroll wheel 450 that rotates up or down toprovide immediate input for φ, where the input of ρ is provided bymoving the user's finger on touchpad surfaces 460 and 470 wherein thefinger movement inwards/closer to the direction of the dotted line 100of the spherical cursor provides positive input for ρ, or the fingermovement inwards/closer to the opposite direction of the dotted line 100of the spherical cursor provides negative input for ρ.

FIG. 21 illustrates a 3D mouse comprised of a horizontal scroll wheel480 that rotates clockwise or counterclockwise to provide immediateinput of θ, vertical scroll wheel 490 that rotates “up or down” toprovide immediate input of φ, and two pressure sensitive buttons 500 and510 that detect the user's finger pressing to provide, respectively,positive or negative input for ρ to the computer system.

In the previous 3D mouse in FIG. 21, it is possible to eliminate saidtwo pressure sensitive buttons 500 and 510, and make said two scrollwheels 480 and 490 provide this function in addition to their rotationto provide immediate input for θ and φ. In this case, pressing thehorizontal scroll wheel 480 laterally from left to right by the thumbfinger provides immediate positive input for ρ, and pressing thevertical scroll wheel 490 vertically from up to down by the index ormiddle finger provides immediate negative input for ρ to the computersystem.

All the previous described devices provide the input for θ, and φ in twosteps, step by step, however it is possible to provide the input for θand φ in one step using the traditional trackball that is manipulatedwith the palm or the fingers of the user's hand. Such manipulation canprovide immediate input for θ, and φ one time, and in order to providethe immediate input for ρ, the user can press laterally on the left sideof this trackball to provide the positive input for ρ, or pressvertically on the top side of this trackball to provide the negativeinput for ρ. In this case there are two sensors: the first sensor is onthe right of the trackball to detect the lateral pressing, and thesecond sensor is beneath the trackball to detect its vertical pressing.

Generally, the use of the present spherical cursor and the sphericalcoordinate system can be utilized using the traditional input devicessuch as mouse, touchpad, or pointing stick; the following are someexamples for such utilizations:

The regular mouse's movement combined with the top scroll wheel of theregular mouse are sufficient to provide innovative applications forrotating or directing the spherical cursor on the computer display. Theregular mouse is moved on a pad or surface in a manner of horizontalradial scanning, to horizontally control the rotation of the dotted line100 of the spherical cursor on the computer display, which meansproviding the input for θ to the computer system. The top scroll wheelcan then be rotated up or down in a manner of vertical radial scanningto vertically control the rotation of the dotted line 100 of thespherical cursor, which means providing the input for φ to the computersystem, where such horizontal and vertical scanning convert thespherical cursor into a 3D pointer reaching all points or spots in 3D onthe computer display with the use of the traditional mouse and scrollwheel.

FIG. 22 shows a different alternative for providing immediate input forθ, φ, and ρ, using the movement of the user's finger on a touchpadsurface that senses the direction of the finger's motion. Wherein thecircular counterclockwise movement 520 provides positive input for θ andthe circular clockwise movement 530 provides negative input for θ. Thevertical movement 540 from down to up provides positive input for φ, andthe vertical movement 550 from up to down provides negative input for φ.Also, the horizontal movement 560 from left to right provides positiveinput for ρ, and the horizontal movement 570 from right to left providesnegative input for ρ.

The pointing stick can provide the inputs of θ, φ, and ρ to the computersystem by moving the finger on the pointing stick from “left” to “right”to provide positive input for θ, and from “right” to “left” to providenegative input for θ. Moving the finger on the pointing stick from“down” to “up” to provide positive input for φ, and from “up” to “down”to provide negative input for φ. Moving the finger on the pointing stickinwards/closer to the direction of the dotted line 100 of the sphericalcursor to provide positive input for ρ, and inwards/closer to theopposite direction of the dotted line 100 of the spherical cursor toprovide negative input for ρ. Such a pointing stick can be incorporatedon the top side of a regular mouse or a laptop or desktop keyboard.

The directional movements of the previous pointing stick can be usedwith the joystick too, where in this case; instead of moving the fingeron the pointing stick, the user can tilt the joystick in the samedirection as in the previous example of the pointing stick except thatthe left and right movements can be replaced with a clockwise orcounterclockwise circular movement to provide, respectively, negativeand positive input for θ.

In case of moving the spherical cursor in 2D on the computer display thepolar coordinate system will be utilized instead of the sphericalcoordinate system. In such cases the two inputs of the polar coordinatesystem can be provided to the computer system with the regular mouse'smovements on a surface, whereas these movements can provide an input forθ and ρ consecutively. The first step for the user is to provide theinput for θ by moving the mouse a small distance in a specific directionand, accordingly, the dotted line 100 of the spherical cursor ismanipulated to the same direction of movement on the computer screen. Ifthe first mouse movement is not accurate enough to align the dotted lineto the exact direction, then the user moves the mouse again a smalldistance to adjust the dotted line direction. As long as the mousemovement is less than a specific distance value, the computer systemconsiders the mouse's movement as an input for θ. After the dotted lineof the spherical cursor overlaps with its targeted position which couldbe an icon, menu, or spot on the computer screen, the user moves themouse in/close to the direction of the dotted line 100 to provide inputfor ρ, then the solid line 110 of the spherical cursor protracts to thetargeted position. If the user protracts the solid line 110 more thanneeded, meaning passing the targeted position, the user then willretract the solid line 110 by moving the mouse in/close to the oppositedirection of the dotted line.

In this case, the computer system distinguishes between the mouse'smovement inputs for θ and ρ by measuring the distance of the mouse'smovement on a surface. Assuming this distance is less than one inch,then the computer system considers the input as an input for θ, and ifthis movement distance is equal to or greater than one inch, then thecomputer system considers this input as an input for ρ. When the userreaches the targeted position on the computer display, then s/he clickson the left bottom of the mouse to “enter” his/her spherical cursorposition to the computer system.

FIG. 23.1 shows three movement steps for a mouse on a surface. The firstmovement from point 1 to point 2 is a movement less than one inch,accordingly, it is considered to be an input for θ. While this movementwas not accurate enough to make the dotted line 100 overlap with itstargeted position on the computer display, accordingly, the user movedthe mouse another small movement from point 2 to point 3 for less thanone inch to adjust the direction of the dotted line 100 which achievedthe user's goal and made the dotted line overlap with the targetedposition on the computer display. The third movement is to protract thesolid line 110 of the spherical cursor to provide input for ρ;accordingly, the user moved the mouse more than one inch from point 3 topoint 4 until the solid line reached the targeted position on thecomputer display.

FIG. 23.2 illustrates the three spherical cursor movements 580, 590, and600 on the computer display that are associated, respectively, with thethree mouse movements of FIG. 23.1, where point A represents thestarting position, and point B represents the targeted point of thespherical cursor.

FIG. 24.1 shows another example for another three steps for moving amouse on a surface. Whereas the first step from point 1 to point 2 is asmall movement less than one inch, accordingly, it is considered to bean input for θ, where in this step, the dotted line 100 of the sphericalcursor reached its targeted position from the first time. The secondstep from point 2 to point 4 is a mouse's movement greater than one inchand, accordingly, it is considered to be an input for ρ, whereas thesolid line 110 of the spherical cursor protracted to reach its targetedposition. However, this movement was bigger than the needed distanceaccordingly, the solid line passed the targeted position. To remedythis, the user moved the mouse backwards from point 4 to point 3,in/close to the opposite direction of the dotted line 100 of thespherical cursor to get back the solid line 110 to reach the targetedposition.

FIG. 24.2 illustrates the three spherical cursor movements 610, 620, and630 on the computer display that are associated, respectively, with thethree movements by the mouse of FIG. 24.1, where point A represents thestarting position, and point B represents the targeted point of thespherical cursor.

FIG. 24.2 indicates two regions on the computer screen which arenumbered 640 and 650, where region 640 defines the directions of themouse's movements that are considered to be in or close to the directionof the dotted line 100, and the region 650 defines the directions of themouse's movements that are considered to be in the opposite or close tothe opposite direction of the dotted line 100. The followingmathematical relationships express the values of the two regions 640 and650 accurately as follows:

(θ+90)>“region 640”>(θ−90)

(θ+90)<“region 650”<(θ−90)

According to the previous mathematical relationships, the region 640clarifies what is meant by saying “moving the spherical mouse in/closeto the direction of the dotted line 100” and the region 650 clarifieswhat is meant by saying “moving the spherical mouse in/close to theopposite direction of the dotted line 100.”

In general, the previous description illustrates the method of utilizingthe spherical coordinate system to move the spherical cursor on thecomputer display. However, the following examples illustrate moretechnical details for different movement tasks in 2D and 3D.

The traditional computer cursor movement is configured in a traditionalmanner to move from a start point to a targeted position on the computerdisplay in a freeform path. This freeform path cannot be straight linesor accurate curves or circles due to the natural imperfections in humanhand movements while using an input device such as a mouse, touchpad,pointing stick, touch-sensitive screen, digital template, or inertial 3Dpointing device.

The present invention manipulates the spherical cursor to move ingeometrical paths or grids including the curvature paths not only in 2Dbut in 3D as well. Such manipulation serves many industrial applicationssuch as virtual reality, gaming, 3D modeling, Internet world mapping,GPS, and 3D computer interfaces among others.

The invention method provides the computer system with three inputvalues of the three components of the spherical coordinate system θ, φ,and ρ to move the spherical cursor on the computer display where saidmethod comprising the steps of:

Providing the value of θ to the computer system, where θ represents ahorizontal rotation of the spherical cursor about its nock end in thexy-plane where the positive and negative inputs of θ represent,respectively, a horizontal counterclockwise or clockwise rotation.

Providing the value of φ to the computer system, where φ represents avertical rotation of the spherical cursor about its nock end in aperpendicular plane to the xy-plane, where the positive and negativeinputs of φ represent, respectively, a vertical counterclockwise orclockwise rotation.

Providing the value of ρ to the computer system, where ρ represents thespherical cursor movement in a direction resulting from the horizontalrotation according to the input of θ, and/or the vertical rotationaccording to the input of φ, where the positive and negative inputs of ρrepresent, respectively, moving the spherical cursor inward or backwardin said direction.

The values of θ and φ range from 0 to 360, where the value of 360represent one complete rotation (in some applications the value of θand/or the value of φ range from −90 to 90), while the value of ρ has norange since it represents the radial distance of the spherical cursormovement on the computer screen.

FIG. 25.1 illustrates a diagrammatic illustration representing the orderof providing the three components of θ, φ, and ρ to the computer systemto move the spherical cursor in line, where as shown in this figure, theinput of ρ is always the last provided input, where the inputs of θand/or φ are provided before ρ.

FIG. 25.2 shows another diagrammatic illustration representing anotherorder of providing the three components θ, φ, and ρ to the computersystem to move the spherical cursor in a curve, where as shown in thisfigure; the value of ρ is the first one to be provided to the computersystem whether one or both of the two components of θ, and φ areprovided after. In general, the two previous diagrams illustrate theimportance of the order of providing the three components θ, φ, and ρ tothe computer system to distinguish between moving the spherical cursorin lines or curves. The following explanation gives more details on thismethod.

For example, to move the spherical cursor in a linear path in thepositive direction of the x-axis, the two values of θ and ρ are to beprovided to the computer system. In this case, the value of θ is equalto zero and the value of ρ is equal to the needed movement distance inthe positive direction of the x-axis, assuming that ρ is equal to 1unit. Then the spherical cursor will move one unit from a start point toan end point in the positive direction of the x-axis as shown in FIG.26.1. If the value of θ is equal to 180 instead of zero then thespherical cursor movement will be in the negative direction of thex-axis as shown in FIG. 26.2. If the value of θ is equal to 90 then thespherical cursor will move in the positive direction of the y-axis asshown in FIG. 26.3; if the value of θ is equal to 270 then the sphericalcursor will move in the negative direction of the y-axis as shown inFIG. 26.4. It is obvious in the previous four figures that the value ofθ is provided to the computer system before the value of ρ as indicatedin the small attached table with each of the four previous figures.

To move the spherical cursor in any other direction than the x ory-axis, the value of θ will not be equal to 0, 90, 180, 270, or 360. Forexample if the value of θ is equal to 45 then the spherical cursor willmove as shown in FIG. 27.1 while if this value is 135 then the sphericalcursor movement will be as shown in FIG. 27.2, whereas in this figurethe value of ρ is equal to 2 which means the spherical cursor movementwill be two units. In FIG. 27.3 the value of θ is equal to 300 and thevalue of ρ is equal to 1.5, and in FIG. 27.4 the value of θ is equal to240.

The order of providing θ then ρ to the computer system enables the userto move the spherical cursor in lines or linear paths. However,repeating this type of spherical cursor movements forms geometricalpaths or shapes in the xy-plane as shown in FIG. 28, where this figureillustrates three examples of such geometrical spherical cursormovements.

To control the spherical cursor to move in geometrical grids, the stepvalues of θ and ρ should be defined to the computer system. These stepsindicate the smallest numerical unit used that can be multiplied toprovide the value of θ and ρ. For example, if the step of θ is equal to120 and the step of ρ is equal to 1 then the spherical cursor will bemoved in a geometrical grid as shown in FIG. 29.1. Also, if the step ofθ and ρ are, respectively, equal to 60 and 1, then the spherical cursorwill move in a geometrical grid as shown in FIG. 29.2. According to thisconcept it is easy to control the spherical cursor to move only in the xand y-axis if the step of θ is equal to 90. However, the step of θ canbe a multiple-step which consists of a plurality of values as opposed toonly one value. This enables the spherical cursor to move in linearpaths that form more complicated grids such as the one shown in FIG.29.3, whereas in this example the multiple-step of θ is 135, 90 and 135.

As mentioned previously in the two diagrams in FIGS. 25.1 and 25.2, theorder of providing θ and ρ to the computer system distinguishes betweenmoving the spherical cursor in lines or curves in the xy-plane. However,the previous examples illustrated moving the spherical cursor in lines,whereas FIG. 30 illustrates the method of moving the spherical cursor incurves in the xy-plane, where said method is comprised of the followingsteps:

Providing the value of θ and ρ to the computer system to move thespherical cursor linearly from a start point P1 to a targeted point P2,to define the end point of the curvature path of the spherical cursor.

Providing a second input value for ρ to the computer system to againmove the spherical cursor from P1 to P2 in a curvature path where thesecond input value of ρ ranges from −180 to 180, where the value of 180and −180 represent moving the spherical cursor, respectively, in asemi-circular path, counterclockwise or clockwise, and any input valuebetween 180 and −180 represents moving the spherical cursor in a curvelocated between said two semicircles relative to the value of saidinput.

According to the previous explanation it is possible to move thespherical cursor from P1 to P2 in different curvature paths as shown inFIG. 30. For example if the second input of ρ is equal to −45 then thespherical cursor movement will be a slight counterclockwise curve asshown in the figure, while if the second input of ρ is +135 then thespherical cursor will move in a curve close to the clockwise semicircleas shown in the figure. To simplify forming such curves, the computersystem draws a circle passing on P1, P2, and P3, where P3 is a point ina distance perpendicular to the center point of the line P1-P2, wheresaid distance is equal to the value of the second input of ρ multipliedby the distance between P1 and P2 and divided by 180; accordingly theformed curve is the part of the drawn circle from p1 to p2 passing onP3.

FIG. 31 illustrates a plurality of consecutive curvature paths of thespherical cursor movements, where it is clear that having such movementis impossible to be achieved using the conventional mouse or thetraditional computer cursor without the aid of software for drawing.

In general, the previous examples illustrate the spherical cursormovement in lines or curves in the xy-plane by providing the two inputsof θ and ρ. However, if the two inputs of φ and ρ are provided instead,then the spherical cursor will move in the xz-plane. In this case, ifthe input of φ is equal to 90 then the spherical cursor movement will bein the positive direction of the z-axis as shown in FIG. 32.1, and ifthis value is 270, then the spherical cursor movement will be in thenegative direction of the z-axis as shown in FIG. 32.2. It is noted inthe previous two figures that there is no input provides for θ, whichmeans the value of θ is equal to zero. However, to move the sphericalcursor in the xz-plane, FIGS. 33.1, 33.2, and 33.3 illustrate threeexamples for such movement where the inputs of φ are different than 90and 270.

To move the spherical cursor in the yz-plane, the three values of θ, φ,and ρ should be provided to the computer system. However, in this case,the value of θ should be equal to 90 or −90 as shown in FIGS. 34.1,34.2, and 34.3.

Generally, all the previous examples illustrate the spherical cursormovement in the xy or xz, or yz-plane, however, to move the sphericalcursor in 3D in different planes than the previous three mentionedplanes, specific values of θ, φ, and ρ should be provided to thecomputer system. FIGS. 35.1, 35.2, and 35.3 illustrate three examples ofsuch spherical cursor movements with different input values for θ, φ,and ρ as shown in the attached small table with each figure. However, itis noted that in these three figures some dotted lines are added to thedrawings just to clarify the inclination of the spherical cursor in 3D.

FIGS. 36.1 and 36.2 illustrate two examples for moving the sphericalcursor in geometrical paths in 3D, where FIG. 36.1 illustrates thespherical cursor movements parallel to the x, y, or z-axis, and FIG.36.2 illustrates various sloping movements in 3D.

FIG. 37 shows different alternatives for moving the spherical cursor incurvature or semi-circular paths from P1 to P2 in three dimensions usingthe present method whereas in such cases the method is comprised of thefollowing steps:

Providing the values of θ, φ, and ρ to the computer system to move thespherical cursor linearly in three dimensions from a start point P1 to atargeted point P2, to define the end point of the curvature path of thespherical cursor in 3D.

Providing a second input for ρ to the computer system to again move thespherical cursor from P1 to P2 in a curvature path where the secondinput value of ρ ranges from −180 to 180, where the value of 180 and−180 represents moving the spherical cursor, respectively, in asemicircular path, counterclockwise or clockwise, and any input value ofρ between 180 and −180 represents moving the spherical cursor in a curvelocated between said two semicircles relative to the second input valueof ρ, where said semicircle or curve plane is parallel to the x-axis.

Providing a second input for θ to the computer system where said secondinput rotates said plane of said circle or curve about the P1-P2 line,where the second input of θ ranges from −360 to −360, where the value of360 and −360 represent, respectively, one complete counterclockwise orclockwise rotation.

Generally; as a demonstration for moving the spherical cursor in 3D,FIG. 38 illustrates a three dimensional shape drawn by moving thespherical cursor on the computer display using the present 3D mouse in 7simple steps, wherein the first four steps 660, 670, 680, and 690 arelocated in the xy-plane, hence there is no indication for φ. The 7 ^(th)step 720 is located in the z-axis direction; thereby there is noindication for θ. The 5 ^(th) step 700 and 6 ^(th) steps 710 indicate θand φ; these appear where it is simple to specify the exact angle of thespherical cursor in 3D with the help of digits or numerical values thatcan be appeared with the different spherical cursor rotation or movementto indicate the values of θ, φ, and ρ.

FIG. 39 illustrate a spherical cursor targeting a 3D sphere on thecomputer display, where in such case, to move the spherical cursor froma start point P1 to a targeted point P2 on the outer surface of thesphere; the two inputs of θ and φ are to be provided to the computersystem while the input of ρ doesn't need to be provided; since thecomputer system calculates it mathematically, by solving the twoequations of the intersection of the sphere and the dotted line 100 ofthe spherical cursor, where the dotted line 100 is always defined by itsstart point coordinates, and the two provided angles θ and φ in 3D. Inother words, to target a spot, icon, or the like on any threedimensional surface on the computer display using the present 3D mouse,the user needs to rotate the spherical cursor horizontally and/orvertically by rotating the first 160 and/or second 170 scroll wheels ofthe present 3D mouse until s/her reaches the target, where the computersystem keeps illustrating the point of intersection between the dottedline 100 of the spherical cursor and the three dimensional surface foreach different spherical cursor rotation.

Although the previous illustrations for the spherical cursor and theinput devices utilized the spherical coordinate system, but othercoordinate systems can be used as well. For example, the sphericalcoordinate system transforms into a polar coordinate system when thevalue of φ is equal to zero. Also, the spherical coordinate systemtransforms into a Cartesian coordinate system when the step of θ isequal to 90 and the step of φ is equal to 90 as described previously.The cylindrical coordinate system is a polar coordinate system in threedimensions, where the inputs of θ and ρ can provide the two componentsof the polar coordinate system and the input of φ can provide the thirddimension or the height of the cylindrical coordinate system.

Six-degrees-of-freedom (translation and rotation) can be provided to thecomputer system using the present input devices such as the present 3Dmouse, the present ring mouse, or the present 3D trackball as follows:

For the present 3D mouse, the first scroll wheel 160, the second scrollwheel 170, and third scroll wheel 180 can provide translation in threedegrees of freedom, where each scroll wheel rotation can representmoving along one of the x, y, or z-axis of the Cartesian coordinatesystem. To provide another three degrees of freedom to rotate about theprevious three axes, each scroll wheel can have two different modes: thefirst mode is to be rotated normally, and the second mode is to bepressed lightly during its rotation. Such pressing makes the scrollwheel touch a sensor that generates a signal to the computer systemidentifying that a specific scroll wheel has been pressed during itsrotation, which means this type of scroll wheel rotation is consideredas a rotation about one of the x, y, or z-axis.

According to that, the normal rotation of the first scroll wheel 160 canprovide a movement along the x-axis, and its pressed rotation canprovide a rotation about the z-axis. The normal rotation of the secondscroll wheel 170 can provide a movement along the z-axis, and itspressed rotation can provide a rotation about the y-axis. The normalrotation of the third scroll wheel 180 can provide a movement along they-axis, and its pressed rotation can provide a rotation about thex-axis. It is also possible to use three tilt scroll wheels instead ofthe three regular scroll wheels of the present 3D mouse. In this caserotating any of the three tilt scroll wheels provides a rotation aboutan axis, while tilting any of the tilt scroll wheel provides a movementalong the axis. In other words, rotating the first scroll wheel 160provides a rotation about the z-axis, while tilting it from “down” to“up” provides a movement along the positive z-axis, and tilting it from“up” to “down” provides a movement along the negative z-axis. Rotatingthe second scroll wheel 170 provides a rotation about the y-axis, whiletilting it “forward” provides a movement along the positive y-axis, andtilting it “backward” provides a movement along the negative y-axis.Rotating the third scroll wheel 180 provides a rotation about thex-axis, while tilting it from “left” to “right” provides a movementalong the positive x-axis, and tilting it from “right” to “left”provides a movement along the negative of x-axis. This idea of usingthree tilt scroll wheels instead of the three regular scroll wheels canbe used also for the ring mouse to provide six degrees of freedom.

The same idea of rotating the scroll wheels of the present 3D mouse intwo modes, normally and with a light pressing, can be applied on thescroll wheels of the present ring mouse to providesix-degrees-of-freedom (translation and rotation), since they match thepositioning and functionality of the scroll wheels of the present 3Dmouse. However, it is important to note that using the spherical cursorwith a mouse such as the mouse of FIG. 17 can provide six degrees offreedom. In this case the two scroll wheels of this mouse will directthe spherical cursor to the positive or negative direction of the x, y,or z-axis, while moving the mouse on a surface in the direction of thedotted line 100 of the spherical cursor will provide a movement alongthe axis, and moving the mouse on the surface perpendicular to thedirection of the doted line 100 will provide a rotation about the axis.

The 3D trackball can provide six-degrees-of-freedom, as shown in FIG.40.1 a movement along the x, y, and z-axis is provided to the computersystem, where to move along the x-axis, the first section 300 is rotatedhorizontally by the thumb finger to press on the first button 250 andthe second button 260 during the ball rotation. To move along they-axis, the third section 320 is rotated “up” or “down” by the indexfinger to press, respectively, on the first button 250 and the fourthbutton 280, or to press on the second button 260 and the third button270 during the ball rotation. To move along the z-axis, the secondsection 310 is rotated vertically by the middle finger to press on thethird button 270 and the fourth button 280.

To provide rotation about the x, y, and z-axis, FIG. 40.2 illustratesthe 3D trackball rotation for each case. Where to rotate about thex-axis, the third section 320 is rotated “up or down” by the indexfinger while pushing the first section 300 laterally by the thumb fingerto press on the first button 250 and the second button 260. To rotateabout the y-axis, the second section 310 is rotated vertically by themiddle finger while pushing on the third section 320 laterally by theindex finger to press on the second button 260 and the third button 270.To rotate about the z-axis, the first section 300 is rotatedhorizontally by the thumb finger while pushing vertically on the top ofthe third section 320 by the index finger to prevent the ball to presson any of the four buttons. Generally the different combinations of theball rotation directions and the ID's of the pressed buttons by theball's rotation enable the computer system to identify which degree offreedom is meant by the ball's rotation.

It is obvious that the present 3D input devices such as the three scrollwheels of the present 3D mouse, the present 3D trackball, and thepresent horizontal tilt wheel can be incorporated on the regularcomputer mouse. In this case the movement of the regular mouse on asurface can provide an input for the x and y coordinates of a mouse'smovement on the surface to the computer system, while the present 3Dinput device can provide an input for θ, φ, and ρ to the computersystem. This combination enables the user to control moving twodifferent cursors on the computer display, the first cursor is theregular cursor which can be used for the 2D applications, and the secondcursor is the spherical cursor which can be used for the 3Dapplications. It is also possible to make one of the regular cursor andthe spherical cursor drags the other to change its position in 2D and/or3D on the computer display. Moreover, it is possible to incorporate theregular cursor and the spherical cursor together, in this case theregular cursor is moved on the computer display as usual but when theinput of θ, φ, and ρ is provided to the computer system then the dottedline 100 and the solid line 110 of the spherical cursor starts form theregular cursor position on the computer display plane.

Overall, the alternatives of the present invention are simple andstraightforward and can be utilize in a number of existing technologiesto easily and inexpensively produce the invention. However, theinvention includes some main parts that are described in the following:

The 3D mouse is a regular mouse with an optical or laser sensor at thebottom of the mouse to detect the mouse's movement on a pad or surface,in addition to three scroll wheels which are regular mouse scroll wheelsthat can be carried out in similar fashion to the regular mouse's scrollwheels and can be implemented by using optical encoding disks includinglight holes, wherein infrared LED's shine through the disks; sensorsthen gather light pulses to convert the rotation of the scroll wheelsinto inputs for θ, φ, and ρ. It is also possible to use light-emittingdiodes and photodiodes, a special-purpose image processing chip, orcapacitive sensors, or other known technology to detect the finger'smovement rather than rotating the scroll wheels. In this case, eachscroll wheel will be a fixed wheel or a small strip with a light holethat detects the movement of the user's finger in two perpendiculardirections.

The ring mouse utilizes three scroll wheels similar to the 3D mousescroll wheels. However, in addition to the previous described manner ofthe 3D mouse scroll wheels, a digital sensor can be used for each scrollwheel of the ring mouse to detect its rotation and provide the computersystem with digital data representing the direction and the value ofrotation.

The 3D trackball is an upside-down mouse ball to be rotated by theuser's fingers instead of moving it on a pad or surface. Its rotation isdetected by an optical or laser sensor similar to the regular mouse'smovement detection, however, each of the four buttons 250, 260, 270, and280 that surround the ball is a two-way digital button that can be “ON”if it is pressed by the ball during its rotation, or be “OFF” when it isnot pressed as was described previously. It is also possible toincorporate the 3D trackball on the top of the regular mouse asmentioned previously.

The horizontal scroll wheel is a regular scroll wheel that can be tiltedvertically to press on one of the four buttons. The rotation of thescroll wheels can be detected in a similar fashion as the detection ofthe regular mouse's scroll wheels or by using a digital sensor toprovide the computer system with digital data representing the rotationof the horizontal scroll wheel. The four buttons 360, 370, 380, and 390can utilize a four-way analog sensor with its printed circuit board(“PCB”) as known in the art, where in this case, the PCB will processraw analog signals and convert them into digital signals that can beused for the microprocessor of the computer system. In this case, aslong as the user is touching the analog sensor, the sensor continuouslygenerates specific data corresponding to the finger force and itsposition. It is also possible to utilize a 4-way digital sensor and itsrelated PCB, where the digital sensor provides four independent digitalON-OFF signals in the direction of North, East, South, and West of saidhorizontal scroll wheel

Lastly, the nature of interacting between the user's fingers and thescroll wheels of the 3D mouse, ring mouse, and horizontal tilt wheel, orthe ball or the 3D trackball can utilize haptic technology which refersto the technology that interfaces the user via the sense of touch byapplying forces, vibrations and/or motions to the user's fingers.Accordingly, it is possible to make the user feel feedback such asweight, shape, texture and force effects especially in gaming, virtualtraining, or medical applications.

As discussed above, a spherical cursor, 3D input devices, and method aredisclosed, while a number of exemplary aspects and embodiments have beendiscussed above, those skilled in the art will recognize certainmodifications, permutations, additions and sub-combinations thereof. Itis therefore intended that claims hereafter introduced are interpretedto include all such modifications, permutations, additions andsub-combinations as are within their true spirit and scope.

1. A 3D mouse to provide an input for the three components (θ, φ, and ρ)of the spherical coordinate system to a computer system, wherein saidthree components represent positional information of a cursor on thecomputer display, and said 3D mouse is comprised of: a) a mouse that isable to provide x and y inputs to the computer system to represent themouse's movement on a surface. b) a first scroll wheel 160 on the leftside of said mouse which has its axis perpendicular to the mouse padsurface, and can be rotated horizontally clockwise or counterclockwiseby the thumb finger to provide, respectively, immediate negative orpositive input for θ. c) a second scroll wheel 170 on the right side ofsaid mouse which has its axis parallel to the mouse pad surface,perpendicular to the axis of the first scroll wheel 160, and can berotated vertically clockwise or counterclockwise by the middle or ringfinger to provide, respectively, immediate negative or positive inputfor φ. d) a third scroll wheel 180 on the top side of said mouse whichhas its axis parallel to the mouse pad surface, perpendicular to theaxes of the first scroll wheel 160 and second scroll wheel 170, and canbe rotated vertically up or down by the index or middle finger toprovide, respectively, immediate positive or negative input for ρ.
 2. Acomputer cursor that can be rotated about its nock to move in a specificdirection on the computer display in two and/or three dimensions, wheresaid computer cursor is manipulated by providing an input for the threecomponents (θ, φ, and ρ) of the spherical coordinate system to thecomputer system, where said cursor is named “Spherical Cursor” andcomprised of: a) a dotted line 100 serving as a ray reaching allpossible target points in the cursor's direction on the computerdisplay. b) a solid line 110 that represents the radial distal movementlength of the cursor ρ, in its determined direction on the dotted linefrom a starting point 120 to a targeted point
 130. c) a horizontalcircular portion 140 that gives the feeling of the xy-plane andindicates the value of θ. d) a vertical circular portion 150 that givesthe feeling of the cursor rotation in third dimension, perpendicular tothe xy-plane and indicates the value of φ.
 3. A method to move thecomputer cursor in two and/or three dimensions from a start point to atargeted point on the computer display, by providing an input for thethree components (θ, φ, and ρ) of the spherical coordinate system to thecomputer system, wherein, a) θ is the angle between the positive x-axisand the line from the start point to the target point projected onto thexy-plane, to represent the computer cursor rotation in xy-plane. b) φ isthe angle between the xy-plane and the line from the start point to thetarget point, to represent the computer cursor rotation in thirddimension perpendicular to the xy-plane. c) ρ is the distance betweenthe start point and the target point, to represent the computer cursormovement in its determined direction on the computer display.
 4. Adevice to provide an input for the two components θ and φ of thespherical coordinate system to the computer system to represent theuser's hand rotation in three dimensions wherein said device comprisedof: a) a chassis which is suitable for a user to grasp with one hand. b)a first scroll wheel on the right side of said chassis to be rotated bythe user's thumb finger to provide immediate input for θ to the computersystem. c) a second scroll wheel on the left side of said chassis to berotated by the user's index, or middle finger to provide immediate inputfor φ to the computer system. Wherein rotating the user's hand from“left” to “right”, rotates the first scroll wheel horizontallyclockwise, and rotates the second scroll wheel vertically clockwise,while rotating the user's hand from “right” to “left” rotates the firstscroll wheel horizontally counterclockwise, and rotates the secondscroll wheel vertically counterclockwise.
 5. A ring mouse to provide aninput for the three components θ, φ, and ρ of the spherical coordinatesystem to a computer system, wherein said three components representpositional information of a cursor on the computer display, where saidring mouse is comprised of: a) a finger ring to hold the components ofsaid ring mouse. b) a first scroll wheel 190 on the top side of the ringto be rotated horizontally clockwise or counterclockwise by the thumbfinger to provide, respectively, negative or positive input for θ. c) asecond scroll wheel 200 on the left side of the ring to be rotatedvertically clockwise or counterclockwise by the thumb finger to provide,respectively, negative or positive input for φ. d) a third scroll wheel210 on the front side of the ring to be rotated vertically “up” or“down” by the thumb finger to provide, respectively, positive ornegative input for ρ.
 6. A 3D trackball to provide an input for thethree components (θ, φ, and ρ) of the spherical coordinate system to acomputer system, wherein said three components represent positionalinformation of a cursor on the computer display, where said 3D trackballis comprised of: a) a ball 230 to be rotated horizontally or verticallyby the user's fingers. b) a base 240 to hold the components of said 3Dtrackball. b) a first button 250, second button 260, third button 270,and fourth button 280 to be pressed by said ball during its rotations.c) an optical sensor 290 to detect the rotational direction of saidball. e) a first section 300, second section 310, and third section 320that are dividing the ball 230 into three imaginary sections. Whereinsaid ball 230, provides an input for θ to the computer system when saidfirst section 300 is rotated horizontally by the thumb finger to presson the first button 250 and the second button 260, while provides aninput for φ to the computer system when said second section 310 isrotated vertically by the middle or ring finger to press on the thirdbutton 270 and the fourth button 280, and provides an input for ρ to thecomputer system when said third section 320 is rotated “up” or “down” bythe index finger to press, respectively, on the first button 250 and thefourth button 280, or on the second button 260 and the third button 270.7. A horizontal tilt wheel to provide an input for the three componentsθ, φ, and ρ of the spherical coordinate system to a computer system,wherein said three components represent positional information of acursor on the computer display, where said horizontal tilt wheel iscomprised of: a) a horizontal scroll wheel 330 to be rotatedhorizontally about its vertical axis by the user's finger to provideinput for θ. b) a left button 340 to function as a regular mouse leftbutton. c) a right button 350 to function as a regular mouse rightbutton. d) a first button 360, second button 370, third button 380, andfourth button 390, respectively, in the East, West, North, and Southbottom directions of said horizontal tilt wheel to detect the tiltingdirection of said scroll wheel. Wherein pressing on the top side of saidscroll wheel 330 by the user's finger from, its East side providesnegative input for φ, from its West side provides positive input for φ,from its North side provides positive input for ρ, and from its Southside provides negative input for ρ to the computer system.
 8. The 3Dmouse of claim 1 further each of said first scroll wheel 160, saidsecond scroll wheel 170, and said third scroll wheel 180 can be pressedlightly by the user's fingers during the rotation to touch a sensor togenerate a signal to the computer system identifying that a specificscroll wheel is pressed during its rotation.
 9. The 3D mouse of claim 1wherein said mouse is a computer keyboard wherein said first scrollwheel 160, said second scroll wheel 170, and said third scroll wheel 180are incorporated on top of said computer keyboard.
 10. The 3D mouse ofclaim 1 whereas one or more of the input of said first scroll wheel 160,said second scroll wheel 170, or said third scroll wheel 180 is replacedwith the input of said mouse movement on a surface to provide an inputfor θ, φ, or ρ to the computer system.
 11. The 3D mouse of claim 1wherein said first scroll wheel 160 and said second scroll wheel 170 area trackball that is manipulated with the palm or the fingers of theuser's hand to provide immediate input for θ, and φ to the computersystem.
 12. The 3D mouse of claim 1 wherein one or more of said firstscroll wheel 160, said second scroll wheel 170, or said third scrollwheel 180 is replaced with a touch-sensitive pad to detect the user'sfinger movement to provide input for θ, φ, or ρ to the computer system.13. The 3D mouse of claim 1 whereas one or more of said first scrollwheel 160, said second scroll wheel 170, or said third scroll wheel 180is replaced with two pressure sensitive buttons to detect the user'sfinger pressing to provide positive or negative input for θ, φ, or ρ tothe computer system.
 14. The 3D mouse of claim 1 whereas said firstscroll wheel 160, said second scroll wheel 170, and said third scrollwheel 180 are tilt wheels that can be rotated or tilted by the user'sfinger to provide six degrees of freedom to the computer system,whereas: a) rotating the first scroll wheel 160 provides a rotationabout the z-axis, while tilting it from “down” to “up” provides amovement along the positive z-axis, and tilting it from “up” to “down”provides a movement along the negative z-axis. b) rotating the secondscroll wheel 170 provides a rotation about the y-axis, while tilting itforward provides a movement along the positive y-axis, and tilting itbackward provides a movement along the negative y-axis. c) rotating thethird scroll wheel 180 provides a rotation about the x-axis, whiletilting it from “left” to “right” provides a movement along the positivex-axis, and tilting it from “right” to “left” provides a movement alongthe negative x-axis.
 15. The 3D mouse of claim 1 wherein said mouse hasan optical sensor to detect said mouse movement on the surface.
 16. The3D mouse of claim 1 wherein said computer mouse has a laser sensor todetect said mouse movement on the surface.
 17. The 3D mouse of claim 1wherein said first scroll wheel 160, said second scroll wheel 170, andsaid third scroll wheel 180 use optical encoding disks including lightholes, wherein infrared LED's shine through the disks and sensors gatherlight pulses to convert the rotation of the scroll wheel into inputs forθ, φ, and ρ.
 18. The 3D mouse of claim 1 wherein said first scroll wheel160, said second scroll wheel 170, and said third scroll wheel 180 arefixed wheels enable to detect the movement of the user's finger in twoperpendicular directions by using capacitive sensors.
 19. The 3D mouseof claim 1 wherein said first scroll wheel 160, said second scroll wheel170, and said third scroll wheel 180 are fixed wheels with a light holeto enable detecting the movement of the user's finger by using aspecial-purpose image processing chip.
 20. The 3D mouse of claim 1wherein two or three of said first scroll wheel 160, second scroll wheel170, and third scroll wheel 180 are on the same side of said computermouse to be rotated by one user's finger.
 21. The 3D mouse of claim 1further allows applying forces, vibration, or motion to said firstscroll wheel 160, said second scroll wheel 170, and said third scrollwheel to make the user feels weight, shape, texture, dimension, or forceeffects while using said 3D mouse to move the computer cursor or anobject on the computer display.
 22. The computer cursor of claim 2further numerical digits are shown on the computer display; beside thesolid line 110 to indicate the input value of ρ, beside the horizontalcircular portion 140 to indicate the input value of θ, and beside thevertical circular portion 150 to indicate the input value of φ.
 23. Thecomputer cursor of claim 2 further a regular computer cursor is providedon the computer display, where said regular computer cursor ismanipulated to move in two dimensions by providing the two component xand y of the Cartesian coordinate system to the computer system, andsaid spherical cursor is manipulated to move in three dimensions byproviding the three components θ, φ, or ρ of the spherical coordinatesystem to the computer system, wherein one of said regular computercursor or said spherical cursor can click or drag and move the other tochange its position in two and/or three dimension on the computerdisplay.
 24. The computer cursor of claim 2 whereas it is moved on thexy-plane on the computer display, which means there no input providedfor φ to the computer system, which means in this case, the verticalcircular portion 150 of said computer cursor doesn't exist.
 25. Thecomputer cursor of claim 2 whereas it is moved on the xz-plane on thecomputer display, which means there no input provided for θ to thecomputer system, which means in this case, the horizontal circularportion 140 of said computer cursor doesn't exist.
 26. The computercursor of claim 2 whereas it is moved on a specific plane on thecomputer display where the computer system considers said specific planeas an xy-plane, which means there no input provided for φ to thecomputer system, which means in this case, the vertical circular portion150 doesn't exist, and when the user provides an input for φ to thecomputer system then the computer system recognizes the user's need tomove in three dimensions out of said specific plane, and then thevertical circular portion 150 exists which means appears on the computerdisplay.
 27. The spherical cursor of claim 2 wherein said horizontalcircular portion 140 and said vertical circular portion 150 are a linewhich is a projection of said solid line 110 on the xy-plane on thecomputer display to indicate the inclination of the solid line 110 inthree dimensions.
 28. The method of claim 3 whereas the input for θand/or φ are provided to the computer system before the input for ρ, toenable the computer system to identify the user's need to move thecomputer cursor in lines on the computer display.
 29. The method ofclaim 3 whereas the input for ρ is provided to the computer systembefore the input for θ and/or φ to enable the computer system toidentify the user's need to move the computer cursor in curves on thecomputer display.
 30. The method of claim 3 whereas each of θ, φ, and ρhas a step value which indicates the smallest numerical unit used thatcan be multiplied to provide the input value for θ, φ, or ρ to thecomputer system to move the computer cursor on specific grid on thecomputer display.
 31. The method of claim 3 whereas the computer cursoris targeting a spot on a plane in 3D on the computer display, whereinthe value of ρ is not provided to the computer system where the computersystem calculates it mathematically, by solving the intersectionequation between the equation of the dotted line 100 of the sphericalcursor which is defined by its start point 120 coordinates, and the twoangle θ and φ, and the equation of said targeted plane.
 32. The methodof claim 3 further providing the input for θ, φ, and ρ to the computersystem by moving an object whereas: a) horizontally moving said objectclockwise or counterclockwise provides, respectively, a negative orpositive input for θ. b) vertically moving said object clockwise orcounterclockwise provides, respectively, a negative or positive inputfor φ. c) moving said object forward or backward provides, respectively,a positive or negative input for ρ.
 33. The method of claim 3 whereinthe input of θ is provided to the computer system by a regular mousemovement on a surface where rotating said mouse horizontally on saidsurface rotates the computer cursor horizontally on the computerdisplay, and the input of φ is provided to the computer mouse byrotating a scroll wheel on said mouse where rotating said scroll wheelrotates the computer cursor vertically on the computer display, wheresaid mouse movement and said scroll wheel's rotation enable the computercursor's direction to scan the computer display in 3D horizontally andvertically.
 34. The method of claim 3 wherein said computer cursor is anicon to be moved in 3D on the computer display.
 35. The method of claim3 wherein said computer cursor is a menu to be moved in 3D on thecomputer display.
 36. The method of claim 3 wherein said computer cursoris a virtual camera's orientation to be moved on in 3D the computerdisplay.
 37. The method of claim 3 wherein said computer cursor is anobject to be moved in 3D on the computer display.
 38. The device ofclaim 4 wherein said first scroll wheel is a first press button to bepressed by the user's thumb finger during the user's hand rotation toprovide an input for θ to the computer system, and said second scrollwheel is a second press button to be pressed by the user's index ormiddle finger during the user's hand rotation to provide an input for φto the computer system.
 39. The device of claim 4 wherein said firstscroll wheel is an optical sensor to detect the horizontal rotation ofthe user's thumb finger during the user's hand rotation to provide aninput for θ to the computer system, and said second scroll wheel is anoptical sensor to detect the vertical rotation of the user's index ormiddle finger during the user's hand rotation to provide an input for φto the computer system.
 40. The device of claim 4 further applyingforces, vibration, or motion to said first scroll wheel, and said secondscroll wheel to make the user feel haptic feedback such as weight,shape, texture, dimension, and force effects while using said device tomove the computer cursor or an object on the computer display.
 41. Thering mouse of claim 5 further each of said first scroll wheel 200, saidsecond scroll wheel 210, and said third scroll wheel 220 can be pressedlightly by the user's thumb finger during the rotation to touch a sensorthat generates a signal to the computer system identifying that aspecific scroll wheel is pressed during its rotation.
 42. The ring mouseof claim 5 further said ring is a cube to hold the components of saidring mouse whereas an appendage is attached to said cube to be wrappedaround the user's finger with Velcro-like fabric.
 43. The ring mouse ofclaim 5 further each of said first scroll wheel 200, said second scrollwheel 210, and said third scroll wheel 220 utilizes a digital sensor todetect said scroll wheel's rotation.
 44. The ring mouse of claim 5further allows applying forces, vibration, or motion to said firstscroll wheel 190, said second scroll wheel 200, and said third scroll210 wheel to make the user feel haptic feedback such as weight, shape,texture, dimension, and force effects while using said ring mouse tomove the computer cursor or an object on the computer display
 45. The 3Dtrackball of claim 6 further provides six-degrees-of-freedom (6 DOF)motion control to the computer system whereas: a) to move along thex-axis on the computer display, the first section 300 is rotatedhorizontally by the thumb finger to press on the first button 250 andthe second button
 260. b) to move along the y-axis on the computerdisplay, the third section 320 is rotated up or down by the index fingerto press, respectively, on the first button 250 and the fourth button280, or on the second button 260 and the third button
 270. c) to movealong the z-axis on the computer display, the second section 310 isrotated vertically by the middle finger to press on the third button 270and the fourth button
 280. d) to rotate about the x-axis on the computerdisplay, the third section 320 is rotated up or down by the index fingerwhile pushing the first section 300 laterally by the thumb finger topress on the first button 250 and the second button
 260. e) to rotateabout the y-axis on the computer display, the second section 310 isrotated vertically by the middle finger while pushing the third section320 laterally by the index finger to press on the second button 260 andthe third button
 270. f) to rotate about the z-axis on the computerdisplay, the first section 300 is rotated horizontally by the thumbfinger while pushing vertically the top point of the third section 320by the index finger to prevent the ball from pressing on any of the fourbuttons.
 46. The 3D trackball of claim 6 wherein said 3D trackball isincorporated on a top side of a computer keyboard.
 47. The 3D trackballof claim 6 wherein said 3D trackball is incorporated on the top side ora computer mouse.
 48. The 3D trackball of claim 6 wherein said opticalsensor 290 is a laser sensor to detect the rotational direction of saidball
 230. 49. The 3D trackball of claim 6 wherein each of said firstbutton 250, second button 260, third button 270, and fourth button 280are two-way digital buttons that can be “ON” when it is pressed and be“OFF” when it is not pressed.
 50. The 3D trackball of claim 6 furtherallows applying forces, vibration, or motion to said ball 230 to makethe user feel haptic feedback such as weight, shape, texture, dimension,and force effects while using said 3D trackball to move the computercursor or an object on the computer display.
 51. The horizontal tiltwheel of claim 7 wherein said horizontal tilt wheel is incorporated onthe top side of a computer keyboard.
 52. The horizontal tilt wheel ofclaim 7 wherein said horizontal tilt wheel is incorporated on the topside of a computer mouse.
 53. The horizontal tilt wheel of claim 7wherein said horizontal tilt wheel is attached to a finger ring to beput on the index or middle finger of the user's hand and be operated bythe thumb finger.
 54. The horizontal tilt wheel of claim 7 further saidhorizontal scroll wheel 360 utilizes a digital sensor to provide thecomputer system with digital data representing the horizontal rotationof said horizontal scroll wheel.
 55. The horizontal tilt wheel of claim7 further said first button 360, said second button 370, said thirdbutton 380, and said fourth button 390 are a four-way analog sensor withits printed circuit board to process raw analog signals and convert theminto digital signals that can be used for the microprocessor of thecomputer system.
 56. The horizontal tilt wheel of claim 7 further saidfirst button 360, said second button 370, said third button 380, andsaid fourth button 390 are a 4-way digital sensor with its related PCBto provide four independent digital ON-OFF signals that can be used forthe microprocessor of the computer system.
 57. The horizontal tilt wheelof claim 7 further allows applying forces, vibration, or motion to saidhorizontal scroll wheel 330 to make the user feel haptic feedback suchas weight, shape, texture, dimension, and force effects while using saidhorizontal tilt wheel to move the computer cursor or an object on thecomputer display.
 58. The 3D Mouse of claim 8 further providessix-degrees-of-freedom (6 DOF) motion control to the computer systemwhereas: a) to move along the x-axis on the computer display, the firstscroll wheel 160 is rotated horizontally by the thumb finger. b) to movealong the y-axis on the computer display, the third scroll wheel 180 isrotated up or down by the index finger. c) to move along the z-axis onthe computer display, the second scroll wheel 170 is rotated verticallyby the middle or ring finger. d) to rotate about the x-axis on thecomputer display, the third scroll wheel 180 is rotated up or down whilepressing it lightly by the index finger. e) to rotate about the y-axison the computer display, the second scroll wheel 170 is rotatedvertically while pressing it lightly by the middle or ring finger. e) torotate about the z-axis on the computer display, the first scroll wheel160 is rotated horizontally while pressing it lightly by the thumbfinger.
 59. The 3D mouse of claim 10 wherein said mouse movement on asurface provides an input for x and y mouse movement on said surface tothe computer system, where the x and y values represent an input for θ,φ, or ρ equal to (x²+y²)^(0.5), where said input is positive if themouse movement is forward, and said input is negative if the mousemovement is backward.
 60. The 3D mouse of claim 10 wherein said mousemovement on a surface provides an input for x and y mouse movement onsaid surface to the computer system, where said mouse movementrepresents; positive input for θ if the movement is in the direction ofthe positive x-axis, negative input for θ if the movement is in thedirection of the negative x-axis, positive input for φ if the movementis in the direction of the positive y-axis, negative input for φ if themovement is in the direction of the negative y-axis, negative input forρ if the movement's direction is between the positive x and y-axis, andnegative input for ρ if the movement's direction is between the negativex and y-axis.
 61. The 3D mouse of claim 12 wherein said user's fingermovement on said touch-sensitive pad provides the computer system with;positive input for θ when the movement is a counterclockwise 520,negative input for θ when the movement is clockwise 530, positive inputfor φ when the movement is vertical 540 from “down” to “up”, negativeinput for φ when the movement is vertical 550 from “up” to “down”,positive input for ρ when the movement is horizontal 560 from “left” to“right”, and negative input for ρ when the movement is horizontal 570from “right” to “left”.
 62. The method of claim 30 whereas the stepvalue of θ is equal to 90, and the step value of φ is equal to 90 whichmeans the computer cursor moves on the computer display parallel to thex, y, or z-axis of the Cartesian coordinate system.
 63. The method ofclaim 30 whereas said step value is a multiple-step which consists of aplurality of values as opposed to only one value.
 64. The method ofclaim 31 wherein said spot on said plane is an icon, menu, or objectwhere said icon, menu, or object is highlighted or its color or shapechanged when it intersects with the direction of the computer cursor onthe computer display.
 65. The method of claim 32 whereas said object isa user's finger that is moved on a touch-sensitive pad to provide inputfor θ, φ, and ρ to the computer system.
 66. The method of claim 32whereas said object is a pointing stick.
 67. The method of claim 32whereas said object is a joystick.
 68. The method of claim 32 whereinsaid object is a computer mouse that can be moved in steps comprised of:a) moving the computer mouse on a surface horizontally parallel to thepositive or negative x-axis to provide, respectively, positive ornegative input for θ. b) moving the computer mouse on a surfacevertically parallel to the positive or negative y-axis to provide,respectively, positive or negative input for φ. c) moving the computermouse on a surface, inwards/closer to the horizontal direction of thespherical cursor to provide positive input for ρ, or inwards/closer tothe opposite horizontal direction of the spherical cursor to providenegative input for ρ.
 69. The method of claim 32 to provide positionalinformation to the computer system to move the computer cursor of claim2 in two dimensions using the polar coordinate system, wherein saidobject is a computer mouse that is moved in steps comprised of: a)moving said mouse on a surface in a specific direction for less than oneinch where the direction of said mouse movement manipulates the dottedline 100 to the same direction on the computer display to provide aninput for θ to the computer system. b) moving said mouse on a surface inor close to the direction of said dotted line 100 for one inch or moreto move the solid line 110 a relative distance on the computer displayto provide an input for ρ to the computer system.